[アップデート]Amazon S3でAWS Dedicated Local Zones向けのストレージクラスが発表されました

[アップデート]Amazon S3でAWS Dedicated Local Zones向けのストレージクラスが発表されました

Clock Icon2024.12.03

みなさんこんにちは、杉金です。
Amazon S3でAWS Dedicated Local Zones向けのストレージクラスが発表されました。

https://aws.amazon.com/jp/about-aws/whats-new/2024/12/amazon-s3-storage-classes-dedicated-local-zones/

今回の発表により、以下のストレージクラスがDedicated Local Zonesに対応しました。

  • Amazon S3 Express One Zone
  • S3 One Zone-Infrequent Access storage

Dedicated Local Zonesは、簡単に言うと顧客専用のLocal Zoneで、データのレジデンシーや分離などを目的に使用されます。
従来はVPCやEC2など一部サービスでDedicated Local Zones利用可能だったところに、今回新たにS3が仲間入りした形です。(ただし、特定のストレージクラスのみ)

Dedicated Local Zonesは、専用の区画(AWSインフラ環境)を作る特性上、手軽には試せません。そこで今回は設定の流れを紹介します。

https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-data-residency.html

設定の流れ

S3 Express One Zone(ディレクトリバケット)での利用を例に、設定の流れを記載します。

  1. Dedicated Local Zonesを利用するAWSアカウントの用意
  2. Dedicated Local Zones上にS3のディレクトリバケットを作成
  3. ゲートウェイVPCエンドポイントを作成
  4. アクセス制御の設定

1.Dedicated Local Zonesを利用するAWSアカウントの用意

本記事執筆時点のDedicated Local Zonesは、ボタンやコマンドでサクッと専用のゾーンを作ることはできず、まずは利用開始の問い合わせを行います。専用のインフラ環境を用意するという特性上、このような始め方なのかなと思われます。

https://aws.amazon.com/jp/dedicatedlocalzones/

2.Dedicated Local Zones上にS3のディレクトリバケットを作成

Dedicated Local Zonesが用意できたら、その上にS3のディレクトリバケットを作成します。

sugin20241202-001

アベイラビリティーゾーンの選択にて、用意されたDedicated Local Zonesを選択します。
(Dedicated Local Zonesの環境はないため、下記画像はあくまで参考)

sugin20241202-002

AWS CLIでディレクトリバケットを作成するにはs3apiでcreate bucketを呼び出します。

aws s3api create-bucket
--bucket bucket-base-name--zone-id--x-s3
--create-bucket-configuration 'Location={Type=LocalZone,Name=local-zone-id},Bucket={DataRedundancy=SingleLocalZone,Type=Directory}'
--region parent-region-code

コマンド内で指定するzone-idはaws ec2 describe-availability-zonesで取得できます。

この設定方法はLocal ZoneとDedicated Local Zonesで同じであるため、適当なLocal Zoneで試しにディレクトリバケットを作成しようとしたのですができませんでした。以下の制限があるためです。

Directory buckets are not currently available in other AWS Local Zones locations

引用元:https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-data-residency.html

3.ゲートウェイVPCエンドポイントを作成

必要に応じてVPC内のEC2からプライベートに接続するために、ゲートウェイVPCエンドポイントを作成します。手順は通常のゲートウェイVPCエンドポイントと同様で、キーポイントは選択するサービスがcom.amazonaws.region.s3expressであることです。

https://docs.aws.amazon.com/AmazonS3/latest/userguide/connectivity-lz-directory-buckets.html

4.アクセス制御の設定

必要に応じてディレクトリバケットへのアクセス制御を設定します。バケットポリシーやIAMユーザー/IAMロールのポリシー、SCPなどいくつか設定方法があります。どこでアクセスを制御させたいかによって使い分けします。

https://docs.aws.amazon.com/AmazonS3/latest/userguide/iam-directory-bucket-LZ.html

バケットポリシーでの例は以下です。Conditionを使って、許可あるいは拒否する条件を指定します。


{
    "Version": "2012-10-17",
    "Statement": [
        {       
            "Sid": "Access-to-specific-LocalZones-only",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                 "StringNotEqualsIfExists": {
                     "s3express:AllAccessRestrictedToLocalZoneGroup": [
                         "local-zone-network-border-group-value"
                     ]
                 }   
            }
        }
    ]
}

さいごに

今回のアップデートを紹介しました。主だったところを何も試せませんが、Dedicated Local Zonesを理解するのに役立ちました。
機密性の高い情報を保管する目的やBCPのひとつとして物理的/地理的に分離された環境が必要となるケースがあります。Dedicated Local Zonesはそのようなときの選択肢のひとつとなりそうです。ストレージサービスであるS3がDedicated Local Zonesに対応したのは嬉しいアップデートではないでしょうか。
手軽に試せないのと情報が少ないため、サービスの拡大とともに今後ユースケースや設定ドキュメントが増えていくことを期待したいです。

参考資料

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.